Top 10k strings from Super Print (1983)(Tim Johns).z80
in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [Z80] (TOSEC-v2007-01-01) /
Back to the directory listing
2 base=62630 1 st=base+10 1 p$="Using Superprint": 1 p$="Save "+("Basic + machine code" 1 p$="Press the number of your choice": 1 p$="Press W to wipe this line": 1 p$="Press R to return to last page": 1 p$="Press M to return to main menu": 1 p$="Press ENTER when finished": 1 p$="Press C to continue": 1 p$="Please type your first name ": 1 p$="New text": 1 p$="Hello, "+n$+"!": 1 p$="Character set "+g$ 1 p$: RANDOMIZE 1 Width of text in pixels (for use with automatic wordwrap) 1 WORDWRAPPED PRINTING 1 Vertical position (0-182 measured from bottom of screen) for printing 1 USING SUPERPRINT 1 USING COLOUR 1 TRIAL TEXT 1 TEXT PRINTING 1 Spacing in pixels between characters 1 SYSTEMS VARIABLES 1 SYSTEM VARIABLES & USR CALLS 1 SUPERPRINT 1 SAVE PROGRAM 1 RETURN MENU SUBROUTINE 1 RETURN LAST PAGE SUB- ROUTINE 1 Press the letter of your choiceG 1 OVER-PRINTING 1 No trial text available 1 LINE PRINTING 1 INTRODUCING SUPERPRINT* 1 INITIALISATION 1 INITIALIS-ATION 1 Horizon- tal position (0-255) for print- ing 1 Characterset (244 for set 1, 249 for set 2) 1 CONTINUE SUBROUTINE**** 1 CHARACTER SETS 1 CHARACTER GENERATOR 1 CHANGING CHARACTER SETS 1 CENTRE PRINTING 1 ;"WIDTH=";w;" " 1 ;"W=DEFINE WIDTH"; 1 ;"U=CURSOR UP 1 ;"The quick brown fox jumps over"'" the lazy dog." 1 ;"MACHINE CODE LOADING": 1 ;"M=RETURN TO MENU"; 1 ;"IN THE ROW POINTED TO"; 1 ;"F=FINISHED" 1 ;"D=DEFINE A CHARACTER"; 1 ;"D=CURSOR DOWN "; 1 ;"CHARACTER SET ";cs+1 1 ;"C=CLEAR CHARACTER"; 1 ;"C=CHANGE CHARACTER"; 1 ;"BY THE CURSOR"; 1 ;"1-8 REVERSE THE PIXEL"; 1 62606: NEXT n" 1 , sans ambigu 1 *(g$="W")+240 1 *(g$="U")+100 1 *(g$="F")+8000 1 *(g$="F")+290 1 *(g$="E")+2000 1 *(g$="D")+6000 1 *(g$="D")+218 1 *(g$="D")+190 1 *(g$="C")-1002 1 *(g$="C")+5000 1 *(g$="B")+7000 1 *(g$="A")+3000 1 * and now flashing.": 1 )+("Machine code only" 1 "to the centre of the screen." 1 "the vertical coordinate (0-182)." 1 "the last: it is necessary to POKE only the" 1 "the first line. For an example of the" 1 "the Basic program - and also the following:" 1 "that you will to want to use it" 1 "routine in use see lines 3400-3470 of" 1 "one line at a time, with each line printed" 1 "it is very useful for titles" 1 "in alignment with, and ten pixels below," 1 "horizontal & vertical coordinates (23728" 1 "for a whole screenful of text," 1 "enables text to be printed to the screen" 1 "at the foot of the screen." 1 "and now it has a spacing of","three pixels." 1 "and for messages" 1 "and 23729 repectively) for the start of" 1 "alternative set of narrower characters, allowing more text to be printed to the screen." 1 "accurately prints a line" 1 "You can use two separate character sets with Superprint - the normal set, " 1 "Wrap printing" for automatically word- wrapped text 1 "Wordwrapped printing (wpr)" 1 "While it is unlikely" 1 "WHICH CHARACTER DO YOU WANT TO"'"DEFINE?";x$: 1 "Verification"," " 1 "Using colour" 1 "USR calls" 1 "Two full character sets including European characters: both sets may be redesigned easily using the character generator provided." 1 "True ascenders and descenders in a matrix nine pixels deep." 1 "To use the second set, POKE 62582,249" 1 "To use the first set, POKE 62582,244" 1 "This routine enables you to enter a trial text to study the effect of changes in the character set, or in spacing between characters." 1 "The routine at 62645" 1 "The routine at 62628 (called by e.g. RANDOMIZE USR 62628 or LET x=USR 62628) automatically wipes the last line of text printed to the screen. Here is an example of the routine in use (see lines 3610-3620 of the Basic program)." 1 "The quick brown fox jumps over the lazy dog." 1 "The line-printing routine at 62599 prints a single line of text to the screen. POKE 23728 with the horizontal coordinate (0-255), and 23729 with the vertical coord-inate (0-182 measured from the bottom of the screen) for the start of printing. Here is an example program which will print the text placed in p$ half-way down the screen:" 1 "The general improvement over normal Sinclair printing is shown by the following examples:" 1 "The fact that Superprint uses a matrix nine pixels deep and with variable width for printing characters can present difficulties in using colour commands since these depend on an unvarying 8x8 matrix." 1 "Text printing" 1 "Text printing (tpr)" 1 "Text is always in p$ - e.g. LET p$ = ""This is a test text""" 1 "Tape verified","Press S to save again","Press M to return to main menu" 1 "System variables" 1 "Superprint","Main Menu" 1 "Superprint is a utility program for the 48k Spectrum that makes it possible to print high-quality lower-case text to screen from within the user's own Basic program. The utility includes the following features:" 1 "Superprint can improve the screen display and legibility of a wide range of programs, from computer-assisted learning to text-based Adventures." 1 "Spacing between characters (0-9)? " 1 "SUPERPRINT" 1 "Proportional printing and variable spacing between characters." 1 "Previous text or new text (P/N)? " 1 "Press the letter of your choice" 1 "Press R to use the routine again","Press M to return to the main menu" 1 "Press B to save a back-up copy of the Basic program.","Press C to save a copy of the machine code: this should be reloaded with CLEAR 62399: LOAD """"CODE 62400,2967." 1 "Press 1 to see Character Set 1","Press 2 to see Character Set 2" 1 "Please type your text","Press ENTER when finished" 1 "Overprinting (opr)" 1 "Over-printing" to wipe line 1 "Line printing (lpr)" 1 "Line printing" 1 "It is necessary only to POKE 23729 with" 1 "In the Basic program, the systems variables and USR calls are intitialised to the variable names shown in brackets (see lines 9020-9120 in the listing). This helps avoid mistakes!" 1 "In order to wipe a number of lines from the screen, print them again in the same position using OVER 1. For example, pressing P will now wipe the last paragraph from the screen (see lines 3605, 3635 and 3645 of the Basic program)." 1 "In addition, the spacing between charac-ters can be adjusted by POKEing 23681 with the required value - this text has a spacing of two pixels between each char-acter, " 1 "If the horizontal and vertical coordinates are not specified, printing will continue from the last print position. This can be used as the basis of a simple input routine (see lines 3240-3260 of the Basic program):" 1 "However, with a little ingenuity (and some trial-and-error) colour can be used quite effectively: include a ""global"" colour command (e.g. INK 2) before the USR call to a printing routine, and make sure that you do not try to change colour inside one of the 8x8 cells of the screen attributes." 1 "Here is the effect of Superprint against a dark background" 1 "G Save program" 1 "F Trial text" 1 "Each character set has 112 characters, all of which may be redesigned using the character generator (option E on the main menu). In the sets provided with the pro-gram, characters 32-127 correspond to the normal Sinclair set, while 128-143 replace the block graphics with the char-acters needed for printing French and German:" 1 "E.g. RANDOMIZE USR 62599 or LET x = USR 62599" 1 "E Character generator" 1 "D Character sets" 1 "Copies of the Basic program and the machine code may be made by purchasers for their own use: they may not, however, be sold or given away to others." 1 "Character set (1/2)? " 1 "Character Sets" 1 "Changing char. sets & spacing (ch & sp)" 1 "Changed by POKE statements - e.g. POKE 23728,10" 1 "Centre printing" for automatic centring 1 "Centre Printing (cpr)" 1 "C Inspect Basic listing" 1 "B Using Superprint" 1 "An example:" 1 "Accurate placing of text: whole screen area available: automatic wordwrapping and centred printing." 1 "A Introducing Superprint" 1 "9 (Return to main menu)" 1 "8 Using colour" 1 "7 Changing character sets & spacing" 1 "62708 (wpr) = Wordwrapped text (hp, vp & wp needed)" 1 "62707 (wp) = width of wordwrapped text (<=255)" 1 "62645 (cpr) = Centred print (vp needed)" 1 "62628 (opr) = Overprint (wipes last line printed)" 1 "62606 (tpr) = Text print (First hp & vp needed)" 1 "62599 (lpr) = Line print (hp & vp needed)" 1 "62582 (ch) = character set (244 or 249)" 1 "6 Overprinting" 1 "5 Wordwrapped printing" 1 "5 If verification fails, RUN the"," program again and repeat the"," procedure for saving." 1 "4 Text printing" 1 "4 Press the R key on the computer." 1 "4 Press V on the computer." 1 "30 RANDOMIZE USR 62645" 1 "3 Press RECORD on the recorder." 1 "3 Press PLAY on the recorder." 1 "3 Centred printing" 1 "23729 (vp) = vertical print position (0-182 upwards)" 1 "23728 (hp) = horizontal print position (0-255)" 1 "23681 (sp) = spacing between characters (normally 1-4)" 1 "20 LET p$=""This is a title""" 1 "2 Reconnect the EAR lead." 1 "2 Line printing" 1 "2 Disconnect the EAR lead." 1 "10 POKE 23729,182" 1 "1 System variables & USR calls" 1 "1 Rewind the tape." 1 "1 Place a fresh tape in the recorder." 1 ""This text has been printed to the top of the screen using the wordwrapped printing routine at 62708.""" 1 " The text-printing routine at 62606" 1 " The routine at 62708 makes it possible to print a paragraph of text without having to calculate the length of each line: the routine automatically ensures that words are not split between one line and the next. POKE the horizontal and vertical coordinates for the start of the text (23728 and 23729 respectively) and POKE 62707 with the required width of the text in pixels (255 for a full-width screen). Make certain that you do not attempt to make the width of the word-wrapped text so narrow that a word cannot be fitted into it, as otherwise the routine may crash." 1 " Lines 3500-3556 of the Basic program show the routine in action. Here is another example:" 1 " Here is the second set with","a spacing of two pixels, ","and here with a spacing of one,","to allow maximum compression of text (approximately 60 characters per line) while maintaining a high level of legibility." 1 " 50 RANDOMIZE 1 " 40 RANDOMIZE 1 " 30 POKE 62707,245" 1 " 30 LET p$=""A line of text""" 1 " 30 DATA ""This short text will"",""be printed to the right"",""hand side of the screen.""" 1 " 20 POKE 23729,91" 1 " 20 POKE 23729,182" 1 " 20 FOR n=1 TO 3: 1 " 10 POKE 23728,5" 1 " 10 POKE 23728,128: POKE 23729,182" 1 " 10 POKE 23728,0" 1 Tim Johns 1983 1 Superprint